home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zlarnv.z / zlarnv
Text File  |  1996-03-14  |  2KB  |  67 lines

  1.  
  2.  
  3.  
  4. ZZZZLLLLAAAARRRRNNNNVVVV((((3333FFFF))))                                                          ZZZZLLLLAAAARRRRNNNNVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZLARNV - return a vector of n random complex numbers from a uniform or
  10.      normal distribution
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZLARNV( IDIST, ISEED, N, X )
  14.  
  15.          INTEGER        IDIST, N
  16.  
  17.          INTEGER        ISEED( 4 )
  18.  
  19.          COMPLEX*16     X( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      ZLARNV returns a vector of n random complex numbers from a uniform or
  23.      normal distribution.
  24.  
  25.  
  26. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  27.      IDIST   (input) INTEGER
  28.              Specifies the distribution of the random numbers:
  29.              = 1:  real and imaginary parts each uniform (0,1)
  30.              = 2:  real and imaginary parts each uniform (-1,1)
  31.              = 3:  real and imaginary parts each normal (0,1)
  32.              = 4:  uniformly distributed on the disc abs(z) < 1
  33.              = 5:  uniformly distributed on the circle abs(z) = 1
  34.  
  35.      ISEED   (input/output) INTEGER array, dimension (4)
  36.              On entry, the seed of the random number generator; the array
  37.              elements must be between 0 and 4095, and ISEED(4) must be odd.
  38.              On exit, the seed is updated.
  39.  
  40.      N       (input) INTEGER
  41.              The number of random numbers to be generated.
  42.  
  43.      X       (output) COMPLEX*16 array, dimension (N)
  44.              The generated random numbers.
  45.  
  46. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  47.      This routine calls the auxiliary routine DLARUV to generate random real
  48.      numbers from a uniform (0,1) distribution, in batches of up to 128 using
  49.      vectorisable code. The Box-Muller method is used to transform numbers
  50.      from a uniform to a normal distribution.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.